<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Precoding</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Precoding"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Precoding rootpage-Precoding skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Precoding</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">For other uses, see <a href="Pre-code_(disambiguation)" class="mw-redirect mw-disambig" title="Pre-code (disambiguation)">Pre-code (disambiguation)</a>.</div>
<p><b>Precoding</b> is a generalization of <a href="Beamforming" title="Beamforming">beamforming</a> to support multi-stream (or multi-layer) transmission in <a href="MIMO" title="MIMO">multi-antenna</a> wireless communications. In conventional single-stream beamforming, the same signal is emitted from each of the transmit antennas with appropriate weighting (phase and gain) such that the signal power is maximized at the receiver output. When the receiver has multiple antennas, single-stream beamforming cannot simultaneously maximize the signal level at all of the receive antennas.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> In order to maximize the throughput in multiple receive antenna systems, multi-stream transmission is generally required.
</p><p>In point-to-point systems, precoding means that multiple data streams are emitted from the transmit antennas with independent and appropriate weightings such that the link throughput is maximized at the receiver output. In <a href="Multi-user_MIMO" title="Multi-user MIMO">multi-user MIMO</a>, the data streams are intended for different users (known as <a href="Space-division_multiple_access" title="Space-division multiple access">SDMA</a>) and some measure of the total <a href="Throughput" class="mw-redirect" title="Throughput">throughput</a> (e.g., the sum performance or max-min fairness) is maximized. In point-to-point systems, some of the benefits of precoding can be realized without requiring <a href="Channel_state_information" title="Channel state information">channel state information</a> at the transmitter, while such information is essential to handle the inter-user interference in multi-user systems.<sup id="cite_ref-gesbert_2-0" class="reference"><a href="#cite_note-gesbert-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Precoding in the downlink of cellular networks, known as network MIMO or coordinated multipoint (CoMP), is a generalized form of multi-user MIMO that can be analyzed by the same mathematical techniques.<sup id="cite_ref-fnt2013_3-0" class="reference"><a href="#cite_note-fnt2013-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Precoding_for_Point-to-Point_MIMO_Systems">Precoding for Point-to-Point MIMO Systems</h2></div>
<p>In point-to-point multiple-input multiple-output (<a href="MIMO" title="MIMO">MIMO</a>) systems, a transmitter equipped with multiple antennas communicates with a receiver that has multiple antennas. Most classic precoding results assume <a href="Narrowband" title="Narrowband">narrowband</a>, <a href="Fading" title="Fading">slowly fading</a> channels, meaning that the channel for a certain period of time can be described by a single channel matrix which does not change faster. In practice, such channels can be achieved, for example, through <a href="OFDM" class="mw-redirect" title="OFDM">OFDM</a>. The precoding strategy that maximizes the throughput, called <a href="Channel_capacity" title="Channel capacity">channel capacity</a>, depends on the <a href="Channel_state_information" title="Channel state information">channel state information</a> available in the system.
</p>
<div class="mw-heading mw-heading3"><h3 id="Statistical_channel_state_information">Statistical channel state information</h3></div>
<p>If the receiver knows the channel matrix and the transmitter has statistical information, eigenbeamforming is known to achieve the MIMO channel capacity.<sup id="cite_ref-dlove_4-0" class="reference"><a href="#cite_note-dlove-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> In this approach, the transmitter emits multiple streams in eigendirections of the channel covariance matrix.
</p>
<div class="mw-heading mw-heading3"><h3 id="Full_channel_state_information">Full channel state information</h3></div>
<p>If the channel matrix is completely known, <a href="Singular_value_decomposition" title="Singular value decomposition">singular value decomposition</a> (SVD) precoding is known to achieve the MIMO channel capacity.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> In this approach, the channel matrix is diagonalized by taking an SVD and removing the two unitary matrices through pre- and post-multiplication at the transmitter and receiver, respectively. Then, one data stream per singular value can be transmitted (with appropriate power loading) without creating any interference whatsoever.
</p>
<div class="mw-heading mw-heading2"><h2 id="Precoding_for_Multi-user_MIMO_Systems">Precoding for Multi-user MIMO Systems</h2></div>
<p>In <a href="Multi-user_MIMO" title="Multi-user MIMO">multi-user MIMO</a>, a multi-antenna transmitter communicates simultaneously with multiple user's receiver (each having one or multiple antennas). This is known as <a href="Space-division_multiple_access" title="Space-division multiple access">space-division multiple access</a> (SDMA). From an implementation perspective, precoding algorithms for SDMA systems can be sub-divided into linear and nonlinear precoding types. The capacity achieving algorithms are nonlinear,<sup id="cite_ref-weingarten_6-0" class="reference"><a href="#cite_note-weingarten-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> but linear precoding approaches usually achieve reasonable performance with much lower complexity. Linear precoding strategies include maximum ratio transmission (MRT),<sup id="cite_ref-lo_7-0" class="reference"><a href="#cite_note-lo-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> <a href="Zero-forcing_precoding" title="Zero-forcing precoding">zero-forcing</a> (ZF) precoding,<sup id="cite_ref-joham_8-0" class="reference"><a href="#cite_note-joham-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> and transmit Wiener precoding.<sup id="cite_ref-joham_8-1" class="reference"><a href="#cite_note-joham-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> There are also precoding strategies tailored for low-rate <a href="Feedback" title="Feedback">feedback</a> of <a href="Channel_state_information" title="Channel state information">channel state information</a>, for example random beamforming.<sup id="cite_ref-sharif_9-0" class="reference"><a href="#cite_note-sharif-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> Nonlinear precoding is designed based on the concept of <a href="Dirty_paper_coding" title="Dirty paper coding">dirty paper coding</a> (DPC), which shows that any known interference at the transmitter can be subtracted without the penalty of radio resources if the optimal precoding scheme can be applied on the transmit signal.<sup id="cite_ref-weingarten_6-1" class="reference"><a href="#cite_note-weingarten-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p><p>While performance maximization has a clear interpretation in point-to-point MIMO, a multi-user system cannot simultaneously maximize the performance for all users. This can be viewed as a <a href="Multi-objective_optimization" title="Multi-objective optimization">multi-objective optimization</a> problem where each objective corresponds to maximization of the capacity of one of the users.<sup id="cite_ref-fnt2013_3-1" class="reference"><a href="#cite_note-fnt2013-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The usual way to simplify this problem is to select a system utility function; for example, the weighted sum capacity where the weights correspond to the system's subjective user priorities. Furthermore, there might be more users than data streams, requiring a <a href="Scheduling_algorithm" class="mw-redirect" title="Scheduling algorithm">scheduling algorithm</a> to decide which users to serve at a given time instant.
</p>
<div class="mw-heading mw-heading3"><h3 id="Linear_precoding_with_full_channel_state_information">Linear precoding with full channel state information</h3></div>
<p>This suboptimal approach cannot achieve the weighted sum rate, but it can still maximize the weighted sum performance (or some other metric of achievable rates under linear precoding).
The optimal linear precoding does not have any closed-form expression, but it takes the form of a weighted MMSE precoding for single-antenna receivers.<sup id="cite_ref-fnt2013_3-2" class="reference"><a href="#cite_note-fnt2013-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The precoding weights for a given user are selected to maximize a ratio between the signal gain at this user and the interference generated at other users (with some weights) plus noise. Thus, precoding can be interpreted as finding the optimal balance between achieving strong signal gain and limiting inter-user interference.<sup id="cite_ref-bjornson_10-0" class="reference"><a href="#cite_note-bjornson-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>Finding the optimal weighted MMSE precoding is difficult, leading to approximate approaches where the weights are selected heuristically. A common approach is to concentrate on either the numerator or the denominator of the mentioned ratio; that is, maximum ratio transmission (MRT)<sup id="cite_ref-lo_7-1" class="reference"><a href="#cite_note-lo-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> and <a href="Zero-forcing_precoding" title="Zero-forcing precoding">zero-forcing</a> (ZF)<sup id="cite_ref-jindal_11-0" class="reference"><a href="#cite_note-jindal-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> precoding. MRT only maximizes the signal gain at the intended user. MRT is close-to-optimal in noise-limited systems, where the inter-user interference is negligible compared to the noise. ZF precoding aims at nulling the inter-user interference, at the expense of losing some signal gain. ZF precoding can achieve a performance close to the sum capacity when the number of users is large or the system is interference-limited (i.e., the noise is weak compared to the interference). A balance between MRT and ZF is obtained by the so-called regularized zero-forcing<sup id="cite_ref-peel_12-0" class="reference"><a href="#cite_note-peel-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> (also known as signal-to-leakage-and-interference ratio (SLNR) beamforming<sup id="cite_ref-sadek_13-0" class="reference"><a href="#cite_note-sadek-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> and transmit Wiener filtering<sup id="cite_ref-joham_8-2" class="reference"><a href="#cite_note-joham-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>) All of these heuristic approaches can also be applied to receivers that have multiple antennas.<sup id="cite_ref-joham_8-3" class="reference"><a href="#cite_note-joham-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-peel_12-1" class="reference"><a href="#cite_note-peel-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-sadek_13-1" class="reference"><a href="#cite_note-sadek-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</p><p>Also for multiuser MIMO system setup, another approach has been used to reformulate the weighted sum rate optimization problem to a weighted sum MSE problem with additional optimization MSE weights for each symbol in.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> However, still this work is not able to solve this problem optimally (i.e., its solution is suboptimal). On the other hand, duality approach also considered in <sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> and <sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> to get sub-optimal solution for weighted sum rate optimization.
</p><p>Note that the optimal linear precoding can be computed using monotonic optimization algorithms,<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> but the computational complexity scales exponentially fast with the number of users. These algorithms are therefore only useful for benchmarking in small systems.
</p>
<div class="mw-heading mw-heading3"><h3 id="Linear_precoding_with_limited_channel_state_information">Linear precoding with limited channel state information</h3></div>
<p>In practice, the <a href="Channel_state_information" title="Channel state information">channel state information</a> is limited at the transmitter due to estimation errors and quantization. Inaccurate channel knowledge may result in significant loss of system throughput, as the interference between the multiplexed streams cannot be completely controlled. In closed-loop systems, the feedback capabilities decide which precoding strategies are feasible. Each receiver can either feedback a quantized version of its complete channel knowledge or focus on certain critical performance indicators (e.g., the channel gain).
</p><p>If the complete channel knowledge is fed back with good accuracy, then one can use strategies designed for having full channel knowledge with minor performance degradation. Zero-forcing precoding may even achieve the full multiplexing gain, but only provided that the accuracy of the channel feedback increases linearly with <a href="Signal-to-noise_ratio" title="Signal-to-noise ratio">signal-to-noise ratio</a> (in dB).<sup id="cite_ref-jindal_11-1" class="reference"><a href="#cite_note-jindal-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Quantization and feedback of channel state information is based on <a href="Vector_quantization" title="Vector quantization">vector quantization</a>, and codebooks based on Grassmannian line packing have shown good performance.<sup id="cite_ref-dlove2_19-0" class="reference"><a href="#cite_note-dlove2-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>
</p><p>Other precoding strategies have been developed for the case with very low channel feedback rates. Random beamforming<sup id="cite_ref-sharif_9-1" class="reference"><a href="#cite_note-sharif-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> (or opportunistic beamforming<sup id="cite_ref-viswanath_20-0" class="reference"><a href="#cite_note-viswanath-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>) was proposed as a simple way of achieving good performance that scales like the sum capacity when the number of receivers is large. In this suboptimal strategy, a set of beamforming directions are selected randomly and users feed back a few bits to tell the transmitter which beam gives the best performance and what rate they can support using it. When the number of users is large, it is likely that each random beamforming weight will provide good performance for some user.
</p><p>In <a href="Spatial_correlation" class="mw-redirect" title="Spatial correlation">spatially correlated</a> environments, the long-term channel statistics can be combined with low-rate feedback to perform multi-user precoding.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> As spatially correlated statistics contain much directional information, it is only necessary for users to feed back their current channel gain to achieve reasonable channel knowledge. As the beamforming weights are selected from the statistics, and not randomly, this approach outperforms random beamforming under strong spatial correlation.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p><p>In multiuser MIMO systems where the number of users are higher than the number of transmit antennas, a multiuser diversity can be achieved by performing user scheduling before applying zero-forcing beamforming. Multiuser diversity is a form of selection diversity among users, the base station can schedule its transmission to those users with favorable channel fading conditions to improve the system throughput. In order to achieve multiuser diversity and apply zero-forcing precoding, the CSI of all users are required at the base station. However, the amount of overall feedback information increases with the number of users. Therefore, it is important to perform a user selection at the receiver to determine the users which feed back their quantized CSI to the transmitter based on a pre-defined threshold. <sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="DPC_or_DPC-like_nonlinear_precoding">DPC or DPC-like nonlinear precoding</h3></div>
<p><a href="Dirty_paper_coding_(DPC)" class="mw-redirect" title="Dirty paper coding (DPC)">Dirty paper coding</a> is a coding technique that pre-cancels known interference without power penalty. Only the transmitter needs to know this interference, but full <a href="Channel_state_information" title="Channel state information">channel state information</a> is required everywhere to achieve the weighted sum capacity.<sup id="cite_ref-weingarten_6-2" class="reference"><a href="#cite_note-weingarten-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> This category includes Costa precoding,<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> Tomlinson-Harashima precoding<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> and the vector perturbation technique.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Mathematical_Description">Mathematical Description</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Description_of_Point-to-Point_MIMO">Description of Point-to-Point MIMO</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="MIMO" title="MIMO">MIMO</a></div>
<p>The standard <a href="Narrowband" title="Narrowband">narrowband</a>, <a href="Fading" title="Fading">slowly fading</a> channel model for point-to-point (single-user) MIMO communication is described in the page on <a href="Mimo" class="mw-redirect" title="Mimo">MIMO</a> communication.
</p>
<div class="mw-heading mw-heading3"><h3 id="Description_of_Multi-user_MIMO">Description of Multi-user MIMO</h3></div>
<p>Consider a downlink multi-user MIMO system where a base station with <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> transmit antennas and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle K}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>K</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle K}</annotation>
</semantics>
</math></span><img src="./2b76fce82a62ed5461908f0dc8f037de4e3686b0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.066ex; height:2.176ex;" alt="{\displaystyle K}" loading="lazy"></span> single-antenna users. The channel to user <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span> is described by the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N\times 1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N\times 1}</annotation>
</semantics>
</math></span><img src="./4a5fc06dc20829afcff1139b5ea311efae47e4a0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.066ex; height:2.176ex;" alt="{\displaystyle N\times 1}" loading="lazy"></span> vector <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {h} _{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {h} _{k}}</annotation>
</semantics>
</math></span><img src="./e5b33d8e5a90fd12187867381b4fecd29a54b18a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.574ex; height:2.509ex;" alt="{\displaystyle \mathbf {h} _{k}}" loading="lazy"></span> of channel coefficients and its <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle i}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>i</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle i}</annotation>
</semantics>
</math></span><img src="./add78d8608ad86e54951b8c8bd6c8d8416533d20.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.802ex; height:2.176ex;" alt="{\displaystyle i}" loading="lazy"></span>th element describes the channel response between the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle i}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>i</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle i}</annotation>
</semantics>
</math></span><img src="./add78d8608ad86e54951b8c8bd6c8d8416533d20.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.802ex; height:2.176ex;" alt="{\displaystyle i}" loading="lazy"></span>th transmit antenna and the receive antenna. The input-output relationship can be described as
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle y_{k}=\mathbf {h} _{k}^{H}\mathbf {x} +n_{k},\quad k=1,2,\ldots ,K}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>y</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mo>+</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>,</mo>
<mspace width="1em"></mspace>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<mi>K</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle y_{k}=\mathbf {h} _{k}^{H}\mathbf {x} +n_{k},\quad k=1,2,\ldots ,K}</annotation>
</semantics>
</math></span><img src="./088cd27c6ad9393035150804b818721a9c4fc1ef.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:33.507ex; height:3.176ex;" alt="{\displaystyle y_{k}=\mathbf {h} _{k}^{H}\mathbf {x} +n_{k},\quad k=1,2,\ldots ,K}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {x} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {x} }</annotation>
</semantics>
</math></span><img src="./32adf004df5eb0a8c7fd8c0b6b7405183c5a5ef2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.411ex; height:1.676ex;" alt="{\displaystyle \mathbf {x} }" loading="lazy"></span> is the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N\times 1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N\times 1}</annotation>
</semantics>
</math></span><img src="./4a5fc06dc20829afcff1139b5ea311efae47e4a0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.066ex; height:2.176ex;" alt="{\displaystyle N\times 1}" loading="lazy"></span> transmitted vector signal, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle y_{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>y</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle y_{k}}</annotation>
</semantics>
</math></span><img src="./4b2ab0248723a410cc2c67ce06ad5c043dcbb933.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.228ex; height:2.009ex;" alt="{\displaystyle y_{k}}" loading="lazy"></span> is the received signal, and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n_{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n_{k}}</annotation>
</semantics>
</math></span><img src="./4b18f35b25d18a03f414bb9510599938e94c4768.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.483ex; height:2.009ex;" alt="{\displaystyle n_{k}}" loading="lazy"></span> is the zero-mean unit-variance noise.
</p><p>Under linear precoding, the transmitted vector signal is
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {x} =\sum _{i=1}^{K}\mathbf {w} _{i}s_{i},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">x</mi>
</mrow>
<mo>=</mo>
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</munderover>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {x} =\sum _{i=1}^{K}\mathbf {w} _{i}s_{i},}</annotation>
</semantics>
</math></span><img src="./4488a7771b3bef0eb700ce08cd1ab9d36d383546.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:13.519ex; height:7.343ex;" alt="{\displaystyle \mathbf {x} =\sum _{i=1}^{K}\mathbf {w} _{i}s_{i},}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle s_{i}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle s_{i}}</annotation>
</semantics>
</math></span><img src="./cfda82668232cbdc0874ed28ab8b6079420d1ffe.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.89ex; height:2.009ex;" alt="{\displaystyle s_{i}}" loading="lazy"></span> is the (normalized) data symbol and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {w} _{i}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {w} _{i}}</annotation>
</semantics>
</math></span><img src="./738edcf12148b7bd3c07ba5459be825cb6089aa1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.731ex; height:2.009ex;" alt="{\displaystyle \mathbf {w} _{i}}" loading="lazy"></span> is the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N\times 1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N\times 1}</annotation>
</semantics>
</math></span><img src="./4a5fc06dc20829afcff1139b5ea311efae47e4a0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.066ex; height:2.176ex;" alt="{\displaystyle N\times 1}" loading="lazy"></span> linear precoding vector. The <a href="Signal-to-noise_plus_interference" class="mw-redirect" title="Signal-to-noise plus interference">signal-to-interference-and-noise</a> ratio (SINR) at user <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span> becomes
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\textrm {SINR}}_{k}={\frac {|\mathbf {h} _{k}^{H}\mathbf {w} _{k}|^{2}}{\sigma _{k}^{2}+\sum _{i\neq k}|\mathbf {h} _{k}^{H}\mathbf {w} _{i}|^{2}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext>SINR</mtext>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mrow>
<mrow>
<msubsup>
<mi>σ<!-- σ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
<mo>+</mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>≠<!-- ≠ --></mo>
<mi>k</mi>
</mrow>
</munder>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mrow>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\textrm {SINR}}_{k}={\frac {|\mathbf {h} _{k}^{H}\mathbf {w} _{k}|^{2}}{\sigma _{k}^{2}+\sum _{i\neq k}|\mathbf {h} _{k}^{H}\mathbf {w} _{i}|^{2}}}}</annotation>
</semantics>
</math></span><img src="./8b37890eba35cc6371d2b0010a386174c3747668.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.505ex; width:29.897ex; height:7.843ex;" alt="{\displaystyle {\textrm {SINR}}_{k}={\frac {|\mathbf {h} _{k}^{H}\mathbf {w} _{k}|^{2}}{\sigma _{k}^{2}+\sum _{i\neq k}|\mathbf {h} _{k}^{H}\mathbf {w} _{i}|^{2}}}}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \sigma _{k}^{2}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>σ<!-- σ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \sigma _{k}^{2}}</annotation>
</semantics>
</math></span><img src="./065426e4746772f367e2476d16fa02f11460a70d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.416ex; height:3.176ex;" alt="{\displaystyle \sigma _{k}^{2}}" loading="lazy"></span> is the noise variance for channel to user <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span> and the corresponding achievable information rate is <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \log _{2}(1+{\textrm {SINR}}_{k})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>log</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo><!-- --></mo>
<mo stretchy="false">(</mo>
<mn>1</mn>
<mo>+</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext>SINR</mtext>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \log _{2}(1+{\textrm {SINR}}_{k})}</annotation>
</semantics>
</math></span><img src="./a0ca09f77fb2988541ddc7ea898bb9285d211965.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:16.513ex; height:2.843ex;" alt="{\displaystyle \log _{2}(1+{\textrm {SINR}}_{k})}" loading="lazy"></span> bits per channel use. The transmission is limited by power constraints. This can, for example, be a total power constraint <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \sum _{i=1}^{K}\|\mathbf {w} _{i}\|^{2}\leq P}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</munderover>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msup>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>≤<!-- ≤ --></mo>
<mi>P</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \sum _{i=1}^{K}\|\mathbf {w} _{i}\|^{2}\leq P}</annotation>
</semantics>
</math></span><img src="./227a33c6911423f11b0190e05855ee0f69cc8517.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:14.696ex; height:7.343ex;" alt="{\displaystyle \sum _{i=1}^{K}\|\mathbf {w} _{i}\|^{2}\leq P}" loading="lazy"></span> where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P}</annotation>
</semantics>
</math></span><img src="./b4dc73bf40314945ff376bd363916a738548d40a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.745ex; height:2.176ex;" alt="{\displaystyle P}" loading="lazy"></span> is the power limit.
</p><p>A common performance metric in multi-user systems is the weighted sum rate
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\underset {\{\mathbf {w} _{k}\}:\sum _{i}\|\mathbf {w} _{i}\|^{2}\leq P}{\mathrm {maximize} }}\sum _{k=1}^{K}a_{k}\log _{2}(1+{\textrm {SINR}}_{k})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<munder>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">m</mi>
<mi mathvariant="normal">a</mi>
<mi mathvariant="normal">x</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">m</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">z</mi>
<mi mathvariant="normal">e</mi>
</mrow>
<mrow>
<mo fence="false" stretchy="false">{</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo fence="false" stretchy="false">}</mo>
<mo>:</mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</munder>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msup>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>≤<!-- ≤ --></mo>
<mi>P</mi>
</mrow>
</munder>
</mrow>
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</munderover>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<msub>
<mi>log</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo><!-- --></mo>
<mo stretchy="false">(</mo>
<mn>1</mn>
<mo>+</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext>SINR</mtext>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\underset {\{\mathbf {w} _{k}\}:\sum _{i}\|\mathbf {w} _{i}\|^{2}\leq P}{\mathrm {maximize} }}\sum _{k=1}^{K}a_{k}\log _{2}(1+{\textrm {SINR}}_{k})}</annotation>
</semantics>
</math></span><img src="./35c52959edbdd7e98eedb75d23d15d850c60ca5a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:37.4ex; height:7.343ex;" alt="{\displaystyle {\underset {\{\mathbf {w} _{k}\}:\sum _{i}\|\mathbf {w} _{i}\|^{2}\leq P}{\mathrm {maximize} }}\sum _{k=1}^{K}a_{k}\log _{2}(1+{\textrm {SINR}}_{k})}" loading="lazy"></span></dd></dl>
<p>for some positive weights <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{k}}</annotation>
</semantics>
</math></span><img src="./05e256a120c3ab9f8958de71acdf81cd75065e3b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.319ex; height:2.009ex;" alt="{\displaystyle a_{k}}" loading="lazy"></span> that represent the user priority. The weighted sum rate is maximized by weighted MMSE precoding that selects
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {w} _{k}^{\textrm {W-MMSE}}={\sqrt {p_{k}}}{\frac {(\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}}{\|(\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}\|}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext>W-MMSE</mtext>
</mrow>
</mrow>
</msubsup>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<msqrt>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</msqrt>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
<mo>+</mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>≠<!-- ≠ --></mo>
<mi>k</mi>
</mrow>
</munder>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
<mo>+</mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>≠<!-- ≠ --></mo>
<mi>k</mi>
</mrow>
</munder>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
</mrow>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {w} _{k}^{\textrm {W-MMSE}}={\sqrt {p_{k}}}{\frac {(\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}}{\|(\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}\|}}}</annotation>
</semantics>
</math></span><img src="./e640fccaae1f5a24c65327cb52cbf487056d6f31.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.505ex; width:43.545ex; height:8.009ex;" alt="{\displaystyle \mathbf {w} _{k}^{\textrm {W-MMSE}}={\sqrt {p_{k}}}{\frac {(\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}}{\|(\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}\|}}}" loading="lazy"></span></dd></dl>
<p>for some positive coefficients <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle q_{1},\ldots ,q_{K}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle q_{1},\ldots ,q_{K}}</annotation>
</semantics>
</math></span><img src="./f7fb3b5149d8577deba134a12459c47717bf8d9b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:10ex; height:2.009ex;" alt="{\displaystyle q_{1},\ldots ,q_{K}}" loading="lazy"></span> (related to the user weights) that satisfy <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \sum _{i=1}^{K}q_{i}=P}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</munderover>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>P</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \sum _{i=1}^{K}q_{i}=P}</annotation>
</semantics>
</math></span><img src="./dbf9215b702e6698f4bd7046521d8876a9fb07d5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:10.423ex; height:7.343ex;" alt="{\displaystyle \sum _{i=1}^{K}q_{i}=P}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle p_{i}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle p_{i}}</annotation>
</semantics>
</math></span><img src="./5bab39399bf5424f25d957cdc57c84a0622626d2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; margin-left: -0.089ex; width:2.059ex; height:2.009ex;" alt="{\displaystyle p_{i}}" loading="lazy"></span> is the optimal power allocation.<sup id="cite_ref-bjornson_10-1" class="reference"><a href="#cite_note-bjornson-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>The suboptimal MRT approach removes the channel inversion and only selects
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {w} _{k}^{\mathrm {MRT} }={\sqrt {p_{k}}}{\frac {\mathbf {h} _{k}}{\|\mathbf {h} _{k}\|}},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">M</mi>
<mi mathvariant="normal">R</mi>
<mi mathvariant="normal">T</mi>
</mrow>
</mrow>
</msubsup>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<msqrt>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</msqrt>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mrow>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
</mrow>
</mfrac>
</mrow>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {w} _{k}^{\mathrm {MRT} }={\sqrt {p_{k}}}{\frac {\mathbf {h} _{k}}{\|\mathbf {h} _{k}\|}},}</annotation>
</semantics>
</math></span><img src="./b122fd6dc114934334ca4cf7117f74233be839e2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.671ex; width:19.741ex; height:6.176ex;" alt="{\displaystyle \mathbf {w} _{k}^{\mathrm {MRT} }={\sqrt {p_{k}}}{\frac {\mathbf {h} _{k}}{\|\mathbf {h} _{k}\|}},}" loading="lazy"></span></dd></dl>
<p>while the suboptimal <a href="Zero-forcing_precoding" title="Zero-forcing precoding">ZF precoding</a> makes sure that <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {h} _{i}^{H}\mathbf {w} _{k}^{\mathrm {ZF} }=0}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">Z</mi>
<mi mathvariant="normal">F</mi>
</mrow>
</mrow>
</msubsup>
<mo>=</mo>
<mn>0</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {h} _{i}^{H}\mathbf {w} _{k}^{\mathrm {ZF} }=0}</annotation>
</semantics>
</math></span><img src="./994da5604ecb7e4a6a7f277178a528d8cb208c76.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:11.679ex; height:3.343ex;" alt="{\displaystyle \mathbf {h} _{i}^{H}\mathbf {w} _{k}^{\mathrm {ZF} }=0}" loading="lazy"></span> for all i ≠ k and thus the interference can be removed in the SINR expression:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\textrm {SINR}}_{k}^{\mathrm {ZF} }={\frac {|\mathbf {h} _{k}^{H}\mathbf {w} _{k}^{\mathrm {ZF} }|^{2}}{\sigma _{k}^{2}}}.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext>SINR</mtext>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">Z</mi>
<mi mathvariant="normal">F</mi>
</mrow>
</mrow>
</msubsup>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">Z</mi>
<mi mathvariant="normal">F</mi>
</mrow>
</mrow>
</msubsup>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mrow>
<msubsup>
<mi>σ<!-- σ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
</mfrac>
</mrow>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\textrm {SINR}}_{k}^{\mathrm {ZF} }={\frac {|\mathbf {h} _{k}^{H}\mathbf {w} _{k}^{\mathrm {ZF} }|^{2}}{\sigma _{k}^{2}}}.}</annotation>
</semantics>
</math></span><img src="./be25fca93f33d20e4926ba6d42d7433fddf8f965.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:22.243ex; height:7.509ex;" alt="{\displaystyle {\textrm {SINR}}_{k}^{\mathrm {ZF} }={\frac {|\mathbf {h} _{k}^{H}\mathbf {w} _{k}^{\mathrm {ZF} }|^{2}}{\sigma _{k}^{2}}}.}" loading="lazy"></span></dd></dl>
<div class="mw-heading mw-heading4"><h4 id="Uplink-downlink_duality">Uplink-downlink duality</h4></div>
<p>For comparison purposes, it is instructive to compare the downlink results with the corresponding uplink MIMO channel where the same single-antenna users transmit to the same base station, having <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> receive antennas. The input-output relationship can be described as
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {y} =\sum _{k=1}^{K}\mathbf {h} _{k}{\sqrt {q_{k}}}s_{k}+\mathbf {n} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">y</mi>
</mrow>
<mo>=</mo>
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</munderover>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<msqrt>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</msqrt>
</mrow>
<msub>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>+</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">n</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {y} =\sum _{k=1}^{K}\mathbf {h} _{k}{\sqrt {q_{k}}}s_{k}+\mathbf {n} }</annotation>
</semantics>
</math></span><img src="./a2810e99f18bcbdc15a0091b8bff97daf66d52f4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:21.392ex; height:7.343ex;" alt="{\displaystyle \mathbf {y} =\sum _{k=1}^{K}\mathbf {h} _{k}{\sqrt {q_{k}}}s_{k}+\mathbf {n} }" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle s_{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle s_{k}}</annotation>
</semantics>
</math></span><img src="./04f159343172781e7666dbc88280c91f34117c30.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.179ex; height:2.009ex;" alt="{\displaystyle s_{k}}" loading="lazy"></span> is the transmitted symbol for user <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle q_{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle q_{k}}</annotation>
</semantics>
</math></span><img src="./f27215e46abcad60f100434d2c8003310580af95.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.126ex; height:2.009ex;" alt="{\displaystyle q_{k}}" loading="lazy"></span> is the transmit power for this symbol, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {y} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">y</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {y} }</annotation>
</semantics>
</math></span><img src="./bb25a040b592282dc2a254c3117e792c3c81161f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.411ex; height:2.009ex;" alt="{\displaystyle \mathbf {y} }" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {n} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">n</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {n} }</annotation>
</semantics>
</math></span><img src="./4a720c341f39f52fd96028dab83edd34d400be46.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.485ex; height:1.676ex;" alt="{\displaystyle \mathbf {n} }" loading="lazy"></span> are the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N\times 1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N\times 1}</annotation>
</semantics>
</math></span><img src="./4a5fc06dc20829afcff1139b5ea311efae47e4a0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.066ex; height:2.176ex;" alt="{\displaystyle N\times 1}" loading="lazy"></span> vector of received signals and noise respectively, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {h} _{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {h} _{k}}</annotation>
</semantics>
</math></span><img src="./e5b33d8e5a90fd12187867381b4fecd29a54b18a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.574ex; height:2.509ex;" alt="{\displaystyle \mathbf {h} _{k}}" loading="lazy"></span> is the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N\times 1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
<mo>×<!-- × --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N\times 1}</annotation>
</semantics>
</math></span><img src="./4a5fc06dc20829afcff1139b5ea311efae47e4a0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.066ex; height:2.176ex;" alt="{\displaystyle N\times 1}" loading="lazy"></span> vector of channel coefficients. If the base station uses linear receive filters to combine the received signals on the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> antennas, the SINR for the data stream from user <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span> becomes
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\textrm {SINR}}_{k}^{\mathrm {uplink} }={\frac {q_{k}|\mathbf {h} _{k}^{H}\mathbf {v} _{k}|^{2}}{\sigma _{k}^{2}+\sum _{i\neq k}q_{i}|\mathbf {h} _{i}^{H}\mathbf {v} _{k}|^{2}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext>SINR</mtext>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">u</mi>
<mi mathvariant="normal">p</mi>
<mi mathvariant="normal">l</mi>
<mi mathvariant="normal">i</mi>
<mi mathvariant="normal">n</mi>
<mi mathvariant="normal">k</mi>
</mrow>
</mrow>
</msubsup>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mrow>
<mrow>
<msubsup>
<mi>σ<!-- σ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
<mo>+</mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>≠<!-- ≠ --></mo>
<mi>k</mi>
</mrow>
</munder>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mrow>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\textrm {SINR}}_{k}^{\mathrm {uplink} }={\frac {q_{k}|\mathbf {h} _{k}^{H}\mathbf {v} _{k}|^{2}}{\sigma _{k}^{2}+\sum _{i\neq k}q_{i}|\mathbf {h} _{i}^{H}\mathbf {v} _{k}|^{2}}}}</annotation>
</semantics>
</math></span><img src="./9c8732a627f2660a3c5b475892c571fde10ded91.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.505ex; width:35.17ex; height:7.843ex;" alt="{\displaystyle {\textrm {SINR}}_{k}^{\mathrm {uplink} }={\frac {q_{k}|\mathbf {h} _{k}^{H}\mathbf {v} _{k}|^{2}}{\sigma _{k}^{2}+\sum _{i\neq k}q_{i}|\mathbf {h} _{i}^{H}\mathbf {v} _{k}|^{2}}}}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {v} _{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {v} _{k}}</annotation>
</semantics>
</math></span><img src="./a65659de269cb11dbe5b7ccbcef4cbe216a2ed80.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.5ex; height:2.009ex;" alt="{\displaystyle \mathbf {v} _{k}}" loading="lazy"></span> is the unit-norm receive filter for this user. Compared with the downlink case, the only difference in the SINR expressions is that the indices are switched in the interference term. Remarkably, the optimal receive filters are the same as the weighted MMSE precoding vectors, up to a scaling factor:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {v} _{k}^{\textrm {MMSE}}={\frac {(\sigma _{k}^{2}\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}}{\|(\sigma _{k}^{2}\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}\|}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">v</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext>MMSE</mtext>
</mrow>
</mrow>
</msubsup>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mo stretchy="false">(</mo>
<msubsup>
<mi>σ<!-- σ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
<mo>+</mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>≠<!-- ≠ --></mo>
<mi>k</mi>
</mrow>
</munder>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mrow>
<mrow>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
<mo stretchy="false">(</mo>
<msubsup>
<mi>σ<!-- σ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">I</mi>
</mrow>
<mo>+</mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>≠<!-- ≠ --></mo>
<mi>k</mi>
</mrow>
</munder>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<msup>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo fence="false" stretchy="false">‖<!-- ‖ --></mo>
</mrow>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {v} _{k}^{\textrm {MMSE}}={\frac {(\sigma _{k}^{2}\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}}{\|(\sigma _{k}^{2}\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}\|}}}</annotation>
</semantics>
</math></span><img src="./65903c8d32a2bcd71145e45b567b8eeffdc9b728.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.505ex; width:39.01ex; height:8.009ex;" alt="{\displaystyle \mathbf {v} _{k}^{\textrm {MMSE}}={\frac {(\sigma _{k}^{2}\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}}{\|(\sigma _{k}^{2}\mathbf {I} +\sum _{i\neq k}q_{i}\mathbf {h} _{i}\mathbf {h} _{i}^{H})^{-1}\mathbf {h} _{k}\|}}}" loading="lazy"></span></dd></dl>
<p>Observe that the coefficients <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle q_{1},\ldots ,q_{K}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>q</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle q_{1},\ldots ,q_{K}}</annotation>
</semantics>
</math></span><img src="./f7fb3b5149d8577deba134a12459c47717bf8d9b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:10ex; height:2.009ex;" alt="{\displaystyle q_{1},\ldots ,q_{K}}" loading="lazy"></span> that was used in the weighted MMSE precoding are not exactly the optimal power coefficients in the uplink (that maximize the weighted sum rate) except under certain conditions. This important relationship between downlink precoding and uplink receive filtering is known as the uplink-downlink duality.<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> As the downlink precoding problem usually is more difficult to solve, it often useful to first solve the corresponding uplink problem.
</p>
<div class="mw-heading mw-heading4"><h4 id="Limited_feedback_precoding">Limited feedback precoding</h4></div>
<p>The precoding strategies described above was based on having perfect <a href="Channel_state_information" title="Channel state information">channel state information</a> at the transmitter. However, in real systems, receivers can only feed back quantized information that is described by a limited number of bits. If the same precoding strategies are applied, but now based on inaccurate channel information, additional interference appears. This is an example on limited feedback precoding.
</p><p>The received signal in multi-user MIMO with limited feedback precoding is mathematically described as
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle y_{k}=\mathbf {h} _{k}^{H}\sum _{i=1}^{K}{\hat {\mathbf {w} }}_{i}s_{i}+n_{k},\quad k=1,2,\ldots ,K.}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>y</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</munderover>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>,</mo>
<mspace width="1em"></mspace>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<mi>K</mi>
<mo>.</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle y_{k}=\mathbf {h} _{k}^{H}\sum _{i=1}^{K}{\hat {\mathbf {w} }}_{i}s_{i}+n_{k},\quad k=1,2,\ldots ,K.}</annotation>
</semantics>
</math></span><img src="./3ccd27bcd80cc76b53d9b2db934e5757492f169f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:41.493ex; height:7.343ex;" alt="{\displaystyle y_{k}=\mathbf {h} _{k}^{H}\sum _{i=1}^{K}{\hat {\mathbf {w} }}_{i}s_{i}+n_{k},\quad k=1,2,\ldots ,K.}" loading="lazy"></span></dd></dl>
<p>In this case, the beamforming vectors are distorted as <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\hat {\mathbf {w} }}_{i}=\mathbf {w} _{i}+\mathbf {e} _{i}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mo stretchy="false">^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">e</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\hat {\mathbf {w} }}_{i}=\mathbf {w} _{i}+\mathbf {e} _{i}}</annotation>
</semantics>
</math></span><img src="./eabaa657bb14d7d2c239e4184ca52cdb6bd70e0c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:13.426ex; height:2.676ex;" alt="{\displaystyle {\hat {\mathbf {w} }}_{i}=\mathbf {w} _{i}+\mathbf {e} _{i}}" loading="lazy"></span>, where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {w} _{i}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {w} _{i}}</annotation>
</semantics>
</math></span><img src="./738edcf12148b7bd3c07ba5459be825cb6089aa1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.731ex; height:2.009ex;" alt="{\displaystyle \mathbf {w} _{i}}" loading="lazy"></span> is the optimal vector and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {e} _{i}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">e</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {e} _{i}}</annotation>
</semantics>
</math></span><img src="./ba77c5a75ef9e230d1a36183785477a2eb3c5c1e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.025ex; height:2.009ex;" alt="{\displaystyle \mathbf {e} _{i}}" loading="lazy"></span> is the error vector caused by inaccurate channel state information. The received signal can be rewritten as
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle y_{k}=\mathbf {h} _{k}^{H}\sum _{i=1}^{K}\mathbf {w} _{i}s_{i}+\mathbf {h} _{k}^{H}\sum _{i=1}^{K}\mathbf {e} _{i}s_{i}+n_{k},\quad k=1,2,\ldots ,K}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>y</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</munderover>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">w</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</munderover>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">e</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>,</mo>
<mspace width="1em"></mspace>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<mi>K</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle y_{k}=\mathbf {h} _{k}^{H}\sum _{i=1}^{K}\mathbf {w} _{i}s_{i}+\mathbf {h} _{k}^{H}\sum _{i=1}^{K}\mathbf {e} _{i}s_{i}+n_{k},\quad k=1,2,\ldots ,K}</annotation>
</semantics>
</math></span><img src="./14fa7804f63bc452c93e97b33af64e9b6cd07741.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:54.908ex; height:7.343ex;" alt="{\displaystyle y_{k}=\mathbf {h} _{k}^{H}\sum _{i=1}^{K}\mathbf {w} _{i}s_{i}+\mathbf {h} _{k}^{H}\sum _{i=1}^{K}\mathbf {e} _{i}s_{i}+n_{k},\quad k=1,2,\ldots ,K}" loading="lazy"></span></dd></dl>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {h} _{k}^{H}\sum _{i\neq k}\mathbf {e} _{i}s_{i}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">h</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>H</mi>
</mrow>
</msubsup>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>≠<!-- ≠ --></mo>
<mi>k</mi>
</mrow>
</munder>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">e</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<msub>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {h} _{k}^{H}\sum _{i\neq k}\mathbf {e} _{i}s_{i}}</annotation>
</semantics>
</math></span><img src="./468ea98581e767213a83b3cc1af8702ac5fcae0c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.505ex; width:11.221ex; height:6.009ex;" alt="{\displaystyle \mathbf {h} _{k}^{H}\sum _{i\neq k}\mathbf {e} _{i}s_{i}}" loading="lazy"></span> is the additional interference at user <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k}</annotation>
</semantics>
</math></span><img src="./c3c9a2c7b599b37105512c5d570edc034056dd40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.211ex; height:2.176ex;" alt="{\displaystyle k}" loading="lazy"></span> according to the limited feedback precoding. To reduce this interference, higher accuracy in the <a href="Channel_state_information" title="Channel state information">channel information</a> feedback is required, which in turn reduces the throughput in the uplink.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="802.11n" class="mw-redirect" title="802.11n">802.11n</a></li>
<li><a href="Channel_state_information" title="Channel state information">Channel state information</a></li>
<li><a href="Cooperative_diversity" title="Cooperative diversity">Cooperative diversity</a></li>
<li><a href="Space%E2%80%93time_code" title="Space–time code">Space–time code</a></li>
<li><a href="Space%E2%80%93time_trellis_code" title="Space–time trellis code">Space–time trellis code</a></li>
<li><a href="Spatial_multiplexing" title="Spatial multiplexing">Spatial multiplexing</a></li>
<li><a href="Zero-forcing_precoding" title="Zero-forcing precoding">Zero-forcing precoding</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">G.J. Foschini and M.J. Gans, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1023/A:1008889222784">On limits of wireless communications in a fading environment when using multiple antennas</a>, Wireless Personal Communications, vol. 6, no. 3, pp. 311–335, 1998.</span>
</li>
<li id="cite_note-gesbert-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-gesbert_2-0">^</a></b></span> <span class="reference-text">D. Gesbert, M. Kountouris, R.W. Heath Jr., C.-B. Chae, and T. Sälzer, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/MSP.2007.904815">Shifting the MIMO Paradigm</a>, IEEE Signal Processing Magazine, vol. 24, no. 5, pp. 36-46, 2007.</span>
</li>
<li id="cite_note-fnt2013-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-fnt2013_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-fnt2013_3-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-fnt2013_3-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">E. Björnson and E. Jorswieck, <a rel="nofollow" class="external text" href="http://kth.diva-portal.org/smash/get/diva2:608533/FULLTEXT01">Optimal Resource Allocation in Coordinated Multi-Cell Systems</a>, Foundations and Trends in Communications and Information Theory, vol. 9, no. 2-3, pp. 113-381, 2013.</span>
</li>
<li id="cite_note-dlove-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-dlove_4-0">^</a></b></span> <span class="reference-text">D. Love, R. Heath, V. Lau, D. Gesbert, B. Rao and M. Andrews, <a rel="nofollow" class="external text" href="http://www.eurecom.fr/~gesbert/papers/JSAC_limitedfeedback_tutorial.pdf">An overview of limited feedback in wireless communication systems</a>, IEEE Journal on Selected Areas Communications, vol. 26, no. 8, pp. 1341–1365, 2008.</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text">E. Telatar, <a rel="nofollow" class="external text" href="http://mars.bell-labs.com/papers/proof/proof.pdf">Capacity of multiantenna Gaussian channels</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110707223008/http://mars.bell-labs.com/papers/proof/proof.pdf">Archived</a> 2011-07-07 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>, European Transactions on Telecommunications, vol. 10, no. 6, pp. 585-595, 1999.</span>
</li>
<li id="cite_note-weingarten-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-weingarten_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-weingarten_6-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-weingarten_6-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">H. Weingarten, Y. Steinberg, and S. Shamai, <a rel="nofollow" class="external text" href="http://www.stanford.edu/class/ee360/suppRead/read1/WeingartenSteinbergShamai2006.pdf">The capacity region of the Gaussian multiple-input multiple-output broadcast channel</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121023102937/http://www.stanford.edu/class/ee360/suppRead/read1/WeingartenSteinbergShamai2006.pdf">Archived</a> 2012-10-23 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>, IEEE Transactions on Information Theory, vol. 52, no. 9, pp. 3936–3964, 2006.</span>
</li>
<li id="cite_note-lo-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-lo_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-lo_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">T. Lo, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/26.795811">Maximum ratio transmission</a>, IEEE Transactions on Communications, vol. 47, no. 10, pp. 1458–1461, 1999.</span>
</li>
<li id="cite_note-joham-8"><span class="mw-cite-backlink">^ <a href="#cite_ref-joham_8-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-joham_8-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-joham_8-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-joham_8-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text">M. Joham, W. Utschick, and J. Nossek, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TSP.2005.850331">Linear transmit processing in MIMO communications systems</a>, IEEE Transactions on Signal Processing, vol. 53, no. 8, pp. 2700–2712, 2005.</span>
</li>
<li id="cite_note-sharif-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-sharif_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-sharif_9-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">M. Sharif and B. Hassibi, <a rel="nofollow" class="external text" href="http://iss.bu.edu/sharif/mimobc-final.pdf">On the Capacity of MIMO Broadcast Channels With Partial Side Information</a>, IEEE Transactions on Information Theory, vol. 51, no. 2, pp. 506-522, 2005.</span>
</li>
<li id="cite_note-bjornson-10"><span class="mw-cite-backlink">^ <a href="#cite_ref-bjornson_10-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-bjornson_10-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">E. Björnson, R. Zakhour, D. Gesbert, B. Ottersten, <a rel="nofollow" class="external text" href="http://kth.diva-portal.org/smash/get/diva2:373150/FULLTEXT01">Cooperative Multicell Precoding: Rate Region Characterization and Distributed Strategies with Instantaneous and Statistical CSI</a>, IEEE Transactions on Signal Processing, vol. 58, no. 8, pp. 4298-4310, 2010.</span>
</li>
<li id="cite_note-jindal-11"><span class="mw-cite-backlink">^ <a href="#cite_ref-jindal_11-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-jindal_11-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">N. Jindal, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TIT.2006.883550">MIMO Broadcast Channels with Finite Rate Feedback</a>, IEEE Transactions on Information Theory, vol. 52, no. 11, pp. 5045–5059, 2006.</span>
</li>
<li id="cite_note-peel-12"><span class="mw-cite-backlink">^ <a href="#cite_ref-peel_12-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-peel_12-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">B. C. B. Peel, B. M. Hochwald, and A. L. Swindlehurst, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TCOMM.2004.840638">A vector-perturbation technique for near-capacity multiantenna multi-user communication - Part I: channel inversion and regularization</a>, IEEE Transactions on Communications, vol. 53, no. 1, pp. 195–202, 2005.</span>
</li>
<li id="cite_note-sadek-13"><span class="mw-cite-backlink">^ <a href="#cite_ref-sadek_13-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-sadek_13-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">M. Sadek, A. Tarighat, and A. Sayed, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TWC.2007.360373">A leakage-based precoding scheme for downlink multi-user MIMO channels</a>, IEEE Transactions on Wireless Communications, vol. 6, no. 5, pp. 1711–1721, 2007.</span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text">T. E. Bogale and L. Vandendorpe, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TSP.2011.2179538">Weighted sum rate optimization for downlink multiuser MIMO coordinated base station systems: Centralized and distributed algorithms</a> IEEE Trans. Signal Process., vol. 60, no. 4, pp. 1876 – 1889, Dec. 2011.</span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text">T. E. Bogale and L. Vandendorpe, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/ICASSP.2012.6288607">Weighted sum rate optimization for downlink multiuser MIMO systems with per antenna power constraint:Downlink-uplink duality approach</a> IEEE International Conference On Acoustics, Speech and Signal Processing (ICASSP), Kyoto, Japan, 25 – 30 Mar. 2012, pp. 3245 – 3248.</span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text">T. E. Bogale and L. Vandendorpe, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TSP.2013.2272554">Linear transceiver design for downlink multiuser MIMO systems: Downlink-interference duality approach</a>, IEEE Trans. Sig. Process., vol. 61, no. 19, pp. 4686 – 4700, Oct. 2013.</span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">W. Utschick and J. Brehmer, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TSP.2011.2182343">Monotonic optimization framework for coordinated beamforming in multicell networks</a>, IEEE Transactions on Signal Processing, vol. 60, no. 4, pp. 1899–1909, 2012.</span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text">E. Björnson, G. Zheng, M. Bengtsson, and B. Ottersten, <a rel="nofollow" class="external text" href="https://arxiv.org/abs/1104.5240">Robust monotonic optimization framework for multicell MISO systems</a>, IEEE Transactions on Signal Processing, vol. 60, no. 5, pp. 2508–2523, 2012.</span>
</li>
<li id="cite_note-dlove2-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-dlove2_19-0">^</a></b></span> <span class="reference-text">D.J. Love, R.W. Heath, and T. Strohmer, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TIT.2003.817466">Grassmannian Beamforming for Multiple-Input Multiple-Output Wireless Systems</a>, IEEE Transactions on Information Theory, vol. 49, no. 10, pp. 2735–2747, 2003.</span>
</li>
<li id="cite_note-viswanath-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-viswanath_20-0">^</a></b></span> <span class="reference-text">P. Viswanath, D. N. C. Tse, Member, and R. Laroia, <a rel="nofollow" class="external text" href="http://www.eecs.berkeley.edu/~dtse/oppbf_it.pdf">Opportunistic Beamforming Using Dumb Antennas</a>, IEEE Transactions on Information Theory, vol. 48, no. 6, pp. 1277–1294, 2002.</span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text">D. Hammarwall, M. Bengtsson, and B. Ottersten, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TSP.2008.920484">Utilizing the spatial information provided by channel norm feedback in SDMA systems</a>, IEEE Transactions on Signal Processing, vol. 56, no. 7, pp. 3278–3293, 2008</span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text">E. Björnson, D. Hammarwall, B. Ottersten, <a rel="nofollow" class="external text" href="http://kth.diva-portal.org/smash/get/diva2:402940/FULLTEXT01">Exploiting Quantized Channel Norm Feedback through Conditional Statistics in Arbitrarily Correlated MIMO Systems</a>, IEEE Transactions on Signal Processing, vol. 57, no. 10, pp. 4027-4041, 2009</span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"> B. Özbek, D. Le Ruyet, <a rel="nofollow" class="external text" href="https://www.springer.com/us/book/9781461477402">Feedback strategies for wireless communication</a>, Springer-Verlag New York, U.S.A, December 2014. </span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text">M. Costa, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TIT.1983.1056659">Writing on dirty paper</a>, IEEE Transactions on Information Theory, vol. 29, no. 3, pp. 439–441, 1983</span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text">M. Tomlinson, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1049/el:19710089">New automatic equalizer employing modulo arithmetic</a>, Electronics Letters, vol. 7, no. 5, pp. 138–139, 1971</span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text">H. Harashima and H. Miyakawa, <a rel="nofollow" class="external text" href="https://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1091221">Matched-transmission technique for channels with intersymbol interference</a>, IEEE Transactions on Communications, vol. 20, no. 4, pp. 774–780, 1972</span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text">B. M. Hochwald, C. B. Peel, and A. L. Swindlehurst, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TCOMM.2005.843995">A vector-perturbation technique for near-capacity multiantenna multi-user communication - Part II: Perturbation</a>, IEEE Transactions on Communications, vol. 53, no. 1, pp. 537–544, 2005</span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text">M. Schubert and H. Boche, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TVT.2003.819629">Solution of the multiuser downlink beamforming problem with individual SINR constraints</a>, IEEE Transactions on Vehicular Technology, vol. 53, no. 1, pp. 18-28, 2004.</span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text">A. Wiesel, Y.C. Eldar, S. Shamai, <a rel="nofollow" class="external text" href="https://dx.doi.org/10.1109/TSP.2005.861073">Linear precoding via conic optimization for fixed MIMO receivers</a>, IEEE Transactions on Signal Processing, vol. 54, no. 1, pp. 161-176, 2006.</span>
</li>
</ol></div></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-11-18" href="https://en.wikipedia.org/wiki/?title=Precoding&oldid=1258154211">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>